home *** CD-ROM | disk | FTP | other *** search
/ HAM Radio 1997 / HAM Radio 1997.iso / vcls / wfc007.000 / include / cnetwkst.hpp < prev    next >
C/C++ Source or Header  |  1996-04-08  |  4KB  |  156 lines

  1. #if ! defined( NET_WORKSTATION_CLASS_HEADER )
  2.  
  3. /*
  4. ** Author: Samuel R. Blackburn
  5. ** CI$: 76300,326
  6. ** Internet: sammy@sed.csc.com
  7. **
  8. ** You can use it any way you like.
  9. */
  10.  
  11. #define NET_WORKSTATION_CLASS_HEADER
  12.  
  13. class CWorkstationUser : public CObject
  14. {
  15.    DECLARE_SERIAL( CWorkstationUser )
  16.  
  17.    private:
  18.  
  19.       void m_Initialize( void );
  20.  
  21.    public:
  22.  
  23.       CWorkstationUser();
  24.       virtual ~CWorkstationUser();
  25.  
  26.       /*
  27.       ** Patterned after WKSTA_USER_INFO_1
  28.       */
  29.  
  30.       CString UserName;
  31.       CString LogonDomain;
  32.       CString OtherDomains;
  33.       CString LogonServer;
  34.  
  35.       virtual void Copy( WKSTA_USER_INFO_1 *source );
  36.       virtual void Empty( void );
  37.       virtual void Serialize( CArchive& archive );
  38. };
  39.  
  40. class CWorkstationInformation : public CObject
  41. {
  42.    DECLARE_SERIAL( CWorkstationInformation )
  43.  
  44.    private:
  45.  
  46.       void m_Initialize( void );
  47.  
  48.    public:
  49.  
  50.       CWorkstationInformation();
  51.       virtual ~CWorkstationInformation();
  52.  
  53.       /*
  54.       ** Patterned after WKSTA_INFO_102
  55.       */
  56.  
  57.       DWORD   PlatformID;
  58.       CString ComputerName;
  59.       CString LANGroup;
  60.       DWORD   MajorVersion;
  61.       DWORD   MinorVersion;
  62.       CString LANRoot;
  63.       DWORD   NumberOfLoggedOnUsers;
  64.  
  65.       virtual void Copy( WKSTA_INFO_100 *source );
  66.       virtual void Copy( WKSTA_INFO_101 *source );
  67.       virtual void Copy( WKSTA_INFO_102 *source );
  68.       virtual void Empty( void );
  69.       virtual void Serialize( CArchive& archive );
  70. };
  71.  
  72. class CWorkstationTransport : public CObject
  73. {
  74.    DECLARE_SERIAL( CWorkstationTransport )
  75.  
  76.    private:
  77.  
  78.       void m_Initialize( void );
  79.  
  80.    public:
  81.  
  82.       CWorkstationTransport();
  83.       virtual ~CWorkstationTransport();
  84.  
  85.       /*
  86.       ** Patterned after WKSTA_USER_INFO_1
  87.       */
  88.  
  89.       DWORD   QualityOfService;
  90.       DWORD   NumberOfVirtualCircuits;
  91.       CString Name;
  92.       CString Address;
  93.       BOOL    WANish;
  94.  
  95.       virtual void Copy( WKSTA_TRANSPORT_INFO_0 *source );
  96.       virtual void Empty( void );
  97.       virtual void Serialize( CArchive& archive );
  98. };
  99.  
  100. class CNetWorkstation : public CNetwork
  101. {
  102.    DECLARE_SERIAL( CNetWorkstation )
  103.  
  104.    private:
  105.  
  106.       void m_Initialize( void );
  107.  
  108.    protected:
  109.  
  110.       /*
  111.       ** Workstation information variables
  112.       */
  113.  
  114.       WKSTA_INFO_100 *m_InformationBuffer100;
  115.       WKSTA_INFO_101 *m_InformationBuffer101;
  116.       WKSTA_INFO_102 *m_InformationBuffer102;
  117.  
  118.       /*
  119.       ** Transport enumeration variables
  120.       */
  121.  
  122.       WKSTA_TRANSPORT_INFO_0 *m_TransportBuffer;
  123.       DWORD m_TransportResumeHandle;
  124.       DWORD m_TransportCurrentEntryNumber;
  125.       DWORD m_TransportNumberOfEntriesRead;
  126.       DWORD m_TransportTotalNumberOfEntries;
  127.  
  128.       /*
  129.       ** User enumeration variables
  130.       */
  131.  
  132.       WKSTA_USER_INFO_1 *m_UserBuffer;
  133.       DWORD m_UserResumeHandle;
  134.       DWORD m_UserCurrentEntryNumber;
  135.       DWORD m_UserNumberOfEntriesRead;
  136.       DWORD m_UserTotalNumberOfEntries;
  137.  
  138.    public:
  139.  
  140.       CNetWorkstation();
  141.       CNetWorkstation( LPCTSTR machine_name );
  142.       virtual ~CNetWorkstation();
  143.  
  144.       virtual void  Close( void );
  145.       virtual BOOL  EnumerateInformation( void );
  146.       virtual BOOL  EnumerateTransports( void );
  147.       virtual BOOL  EnumerateUsers( void );
  148.       virtual BOOL  GetCurrentUser( CWorkstationUser& information );
  149.       virtual BOOL  GetNext( CWorkstationInformation& information );
  150.       virtual BOOL  GetNext( CWorkstationTransport& information );
  151.       virtual BOOL  GetNext( CWorkstationUser& information );
  152.       virtual void  Serialize( CArchive& archive );
  153. };
  154.  
  155. #endif // NET_WORKSTATION_CLASS_HEADER
  156.